package com.yy.studyspringboot.task.timer;

import lombok.SneakyThrows;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * 测试timer定时器
 */
public class TimerTest {

    public static void main(String[] args) {
        Timer timer = new Timer("线程");
        for (int i = 0; i < 10; i++) {
            FoolTimerTask timerTask = new FoolTimerTask("艾哈" + i);
            timer.scheduleAtFixedRate(timerTask,new Date(),2000); //每2秒执行一次
            //schedule  在上一次执行介绍后2秒执行，会丢失一些任务。
            //scheduleAtFixedRate  严格按照2秒执行，执行时间会变乱
        }
    }
}

/**
 * 自定义一个任务
 */
class FoolTimerTask extends TimerTask{
    private String name;
    public FoolTimerTask(String name) {this.name = name;}

    @SneakyThrows
    @Override
    public void run() {
        System.out.println("name" + name + ",startTimer=" + LocalDateTime.now());
//        Thread.sleep(2000);
        System.out.println("name" + name + ",endTimer=" + LocalDateTime.now());
    }
}














